package com.ztesoft.web.common.db.dao.mapper;

import com.ztesoft.web.common.db.arg.BillingCycleArg;
import com.ztesoft.web.common.db.po.BillingCyclePO;

import java.math.*;
import java.util.*;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface IBillingCycleMapper {
    
    List<Integer> countByArg(BillingCycleArg arg);

    List<BillingCyclePO> selectByArg(BillingCycleArg arg);

    BillingCyclePO selectByPrimaryKey(Integer id);

    List<BillingCyclePO> selectByArgAndPage(BillingCycleArg arg, RowBounds rowBound);

    int insert(BillingCyclePO record);

    int insertSelective(BillingCyclePO record);

    int insertBatch(@Param("list") List<BillingCyclePO> records);

    int updateByArgSelective(@Param("record") BillingCyclePO record,
            @Param("arg") BillingCycleArg arg);

    int updateByArg(@Param("record") BillingCyclePO record,
            @Param("arg") BillingCycleArg arg);

    int updateByPrimaryKeySelective(BillingCyclePO record);

    int updateByPrimaryKey(BillingCyclePO record);
    
    int deleteByArg(BillingCycleArg arg);
    
    int deleteByPrimaryKey(Integer id);
    
}